Skip to content

[WIP] feat (@typegpu/noise): LCG generator#2215

Draft
cieplypolar wants to merge 144 commits intomainfrom
docs/lcg
Draft

[WIP] feat (@typegpu/noise): LCG generator#2215
cieplypolar wants to merge 144 commits intomainfrom
docs/lcg

Conversation

@cieplypolar
Copy link
Copy Markdown
Collaborator

@cieplypolar cieplypolar commented Feb 24, 2026

Changes:

  • utility functions in @typegpu/noise (hash, u32To01F32)
  • improved LCG32
  • improved example for benchmarking PRNGs (uniformity)
  • xoroshiro64++ PRNG from chaos master
  • withPerformanceCallback and withTimestampWrites on guardedComputePipeline
  • simulating 64 bits numbers
  • lcg64

TODO:

  • warning of absent seed functions
  • include diagram of 64 bits numbers simulation
  • include test suite for 64 bits operations (probably cpp)
  • update docs
  • optimize u64Mul

@github-actions
Copy link
Copy Markdown

Resolution Time Benchmark

---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Random Branching (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.78, 1.66, 3.61, 5.23, 5.79, 9.01, 17.47, 19.32]
  line [0.80, 1.59, 3.28, 5.17, 5.60, 8.55, 17.18, 20.52]
  line [0.78, 1.57, 3.17, 4.61, 5.25, 8.99, 16.69, 18.76]
Loading
---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Linear Recursion (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.32, 0.48, 0.68, 0.77, 1.01, 1.09, 1.22, 1.40]
  line [0.29, 0.48, 0.59, 0.72, 0.95, 0.96, 1.19, 1.32]
  line [0.31, 0.47, 0.62, 0.74, 0.95, 1.01, 1.22, 1.33]
Loading
---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Full Tree (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.72, 1.49, 3.88, 6.62, 10.43, 20.91, 46.07, 93.64]
  line [0.83, 1.74, 3.19, 5.14, 10.39, 21.30, 47.39, 93.37]
  line [0.77, 1.71, 2.65, 5.14, 10.03, 19.17, 42.35, 87.84]
Loading

@aleksanderkatan
Copy link
Copy Markdown
Contributor

Is this still WIP @cieplypolar ?

@cieplypolar
Copy link
Copy Markdown
Collaborator Author

Is this still WIP @cieplypolar ?

Yea, I am still working on 'optimal' u64 mutliplication. Currently, we have other priorities. I will come back to this. I want to check if partitioning submutliplications between I32 and F32 units will make GPU more occupied :).

@cieplypolar cieplypolar marked this pull request as draft April 23, 2026 10:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants